

const express=require(`express`)

const path =require(`path`)

const app=express()

//中间件功能
// app.use(express.urlencoded())
// app.use(express.json())

// 手写中间件

app.use((req,res,next)=>{
  let str =""
  req.on("data",(chunk)=>{
    str+=chunk.toString()
    console.log(chunk.toString());
  })

  // console.log(111);
  req.on("end",()=>{
    console.log("end",str);
    const o ={}
    str.split("&").forEach(item=>{
      const [key,value] = item.split("=")

      o[key]=value;
    })
    console.log(o,"oooo");
    req.body= o

    next()
  })

 

})


// app.use((req,res,next) =>{
  
//   // req.body
//   //旧方法
  
//   let str = ``
//   req.on("data",(chunk)=>{
    
    
//   str+=chunk.toString() //"{name:value,age:value}"
  
// })

//   req.on("data",()=>{
//     // console.log(str);

//     let o ={}

//    let  data = str.split("&").forEach((item)=>{

//       let  [key,value] = item.split("=")

//       o[key] =value
      
//     })

//     req.body= o
    
//   })


//   next()
// })




//增
app.post(`/xxx`,(request,response)=>{

  console.log(777);
  console.log(request.body);

  response.send(`22`)

  // const{
  //   userId,
  //   name,
  //   age,
  //   sex
  // } =request.body;

  // // if (userId !== "001"){

  // //   return response.send(
  // //     {
  // //       code:10001,
  // //       msg:`增加失败`,
  // //       data:null
  // //     }
  // //   )
  
  // // }
  // response.send({
  //   code:10000,
  //   msg:`增加成功`,
  //   data:{
  //     name:"xiaoA",
  //     age:18,
  //     sex:`男`
  //   }
  // })

})
// 删
app.delete(`/delete`,(request,response)=>{

  const{
    userId,
  } =request.query;

  // if (userId !== "001"){

  //   return response.send(
  //     {
  //       code:10001,
  //       msg:`增加失败`,
  //       data:null
  //     }
  //   )
  
  // }
  response.send({
    code:10000,
    msg:`删除成功`,
    data:null
  })

})
// 改
app.put(`/update`,(request,response)=>{

  const{
    userId,
    age,
    sex
  } =request.body;

  // if (userId !== "001"){

  //   return response.send(
  //     {
  //       code:10001,
  //       msg:`增加失败`,
  //       data:null
  //     }
  //   )
  
  // }
  response.send({
    code:10000,
    msg:`修改成功`,
    data:null


  })

})
//查
app.get(`/get`,(request,response)=>{

  const{
    name,
    age,
    sex
  } =request.query;

  // if (userId !== "001"){

  //   return response.send(
  //     {
  //       code:10001,
  //       msg:`增加失败`,
  //       data:null
  //     }
  //   )
  
  // }
  response.send({
    code:10000,
    msg:`查询成功`,
    data:{
      name:"Firo",
      age:18,
      sex:`🚹`
    }
  })

})



// app.post(`/add`,(req,res)=>{

//   console.log(11);
//   // console.log(req.body);
//   const {
//     name,
//     age,
//     sex,
//   }=req.body

//   if(!name||!age||!sex){

//    return res.send({
//       code:1001,
//       msg:`错误`,
//       data:null
//     })

//   }

//   res.send({
//     code:1000,
//     msg:`成功`,
//     data:null
//   })

// })

// app.put()
// app.delete()






//静态资源借口
app.get(`/1`,(req,res)=>{

  const filePath = path.resolve(__dirname,`./axios.html`)

  res.sendFile(filePath)
})
app.get(`/2`,(req,res)=>{

  const filePath = path.resolve(__dirname,`./middle.html`)

  res.sendFile(filePath)
})

// app.get(`/2`,(req,res)=>{

//   const filePath = path.resolve(__dirname,`./axios.html`)

//   res.sendFile(filePath)
// })
// app.get(`/3`,(req,res)=>{

//   const filePath = path.resolve(__dirname,`./axios.html`)

//   res.sendFile(filePath)
// })
// app.get(`/4`,(req,res)=>{

//   const filePath = path.resolve(__dirname,`./axios.html`)

//   res.sendFile(filePath)
// })






app.listen(3000,()=>{

  console.log(`访问服务器 http://127.0.0.1:3000`);

})
